package com.aiobc.business.appInfo.domain;

import com.aiobc.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * APP申请信息对象 app_info
 *
 * @author ruoyi
 * @date 2021-10-20
 */
@Data
@ApiModel(value = "APP信息")
@TableName("app_info")
public class AppInfo {
    /**
     * 数据ID
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "数据ID")
    @Excel(name = "数据ID")
    private String dataId;

    /**
     * 数据类型（1：数据集接口；2：APP）
     */
    @ApiModelProperty(value = "数据类型")
    @Excel(name = "数据类型", readConverterExp = "1=：数据集接口；2：APP")
    private String dataType;

    /**
     * APP类型
     */
    @ApiModelProperty(value = "APP类型")
    @Excel(name = "APP类型")
    private String appType;

    /**
     * APP名称
     */
    @ApiModelProperty(value = "APP名称")
    @Excel(name = "APP名称")
    private String appName;

    /**
     * 开发者类型
     */
    @ApiModelProperty(value = "开发者类型")
    @Excel(name = "开发者类型")
    private String developerType;

    /**
     * 开发者
     */
    @ApiModelProperty(value = "开发者")
    @Excel(name = "开发者")
    private String developerName;

    /**
     * APP描述
     */
    @ApiModelProperty(value = "APP描述")
    @Excel(name = "APP描述")
    private String appDesc;

    /**
     * APP图标链接(logo)
     */
    @ApiModelProperty(value = "APP图标链接(logo)")
    @Excel(name = "APP图标链接(logo)")
    private String appIconUrl;

    /**
     * APP版本号
     */
    @ApiModelProperty(value = "APP版本号")
    @Excel(name = "APP版本号")
    private String appVersion;

    /**
     * 运行系统（运行环境）
     */
    @ApiModelProperty(value = "运行系统")
    @Excel(name = "运行系统")
    private String runSystem;

    /**
     * APP安卓下载链接
     */
    @ApiModelProperty(value = "APP安卓下载链接")
    @Excel(name = "APP安卓下载链接")
    private String appAndroidUrl;

    /**
     * APP苹果下载链接
     */
    @ApiModelProperty(value = "APP苹果下载链接")
    @Excel(name = "APP苹果下载链接")
    private String appIosUrl;

    /**
     * 所属领域
     */
    @ApiModelProperty(value = "所属领域")
    @Excel(name = "所属领域")
    private String appDomain;

    /**
     * 上架日期
     */
    @ApiModelProperty(value = "上架日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上架日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date onlinedTime;

    /**
     * 应用状态
     */
    @ApiModelProperty(value = "应用状态")
    @Excel(name = "应用状态")
    private String appStatus;

    /**
     * 乐观锁
     */
    @ApiModelProperty(value = "乐观锁")
    @Excel(name = "乐观锁")
    private String revision;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @Excel(name = "创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    @Excel(name = "更新人")
    private String updatedBy;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    /**
     * web应用地址
     */
    @ApiModelProperty(value = "web应用地址")
    @Excel(name = "web应用地址")
    private String webAddress;

    /**
     * 小程序二维码地址
     */
    @ApiModelProperty(value = "小程序二维码地址")
    @Excel(name = "小程序二维码地址")
    private String smallProgramQrCode;

    /**
     * 应用名称或者开发者名称
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "应用名称或者开发者名称")
    private String appNameOrApproval;


    /**
     * 应用应用创建时间末
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "应用应用创建时间末")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createdTimeEnd;
}
